/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import { request as __request, checkJsonSchema as __checkJsonSchema } from '../../core/request';
const schemas = require("../schema").default;

export class TaskResultService {

    /**
     * Your GET endpoint
     * 列举一个task下所有测试结果
     * @returns any OK
     * @throws ApiError
     */
    public static async getListResult({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 测试任务ID
             */
            taskId: string,
            /**
             * 分页查询的页数
             * 1）不传该参数，查询内容不分页
             * 2）传大于等于1的整数时，分页查询
             */
            pageNum?: number,
            /**
             * 分页查询的每页数据条数，取值范围 1-100。默认提取20条
             */
            pageDataCount?: number,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
        /**
         * 总记录数
         */
        totalDataCount: number,
        /**
         * 结果基础信息列表
         */
        results: Array<{
            /**
             * 结果ID，对应Mongo主键
             */
            id: string,
            /**
             * 测试开始时间
             */
            startTime: string,
            /**
             * 测试结束时间
             */
            endTime: string,
            /**
             * 通过率
             */
            passRate: string,
        }>,
    }> {
        const result = await __request({
            method: 'GET',
            path: `/resultmanager/v1/list-result`,
            body: requestBody,
        });

        __checkJsonSchema("getListResult", schemas, result);
        return result.body;
    }

    /**
     * Your GET endpoint
     * 查看一个task下某个resultId对应的结果
     * @returns any OK
     * @throws ApiError
     */
    public static async getTaskResult({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 结果ID，对应Mongo主键
             */
            id: string,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
        /**
         * 任务发起时间
         */
        startTime: string,
        /**
         * 任务结束时间
         */
        endTime: string,
        /**
         * 通过率
         */
        passRate: number,
        /**
         * 测试结果数据统计
         */
        caseResults: Array<{
            /**
             * 测试用例ID
             */
            caseId: number,
            /**
             * 测试用例名称
             */
            caseName: string,
            /**
             * 成功率
             */
            successRate?: number,
            /**
             * 用例测试结果，可取值：OK、NOK
             */
            result?: string,
        }>,
    }> {
        const result = await __request({
            method: 'GET',
            path: `/resultmanager/v1/get-result`,
            body: requestBody,
        });

        __checkJsonSchema("getTaskResult", schemas, result);
        return result.body;
    }

    /**
     * 删除一个task下某个resultId对应的结果
     * @returns any Example response
     * @throws ApiError
     */
    public static async deleteTaskResult({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 结果ID，对应Mongo主键
             */
            id: string,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'DELETE',
            path: `/resultmanager/v1/del-result`,
            body: requestBody,
        });

        __checkJsonSchema("deleteTaskResult", schemas, result);
        return result.body;
    }

}